package com.gxc.healthfood.service;

import com.gxc.healthfood.entity.Foods;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 食物服务接口
 * @author zhouxin
 * @since 2024-05-16
 */
public interface FoodsService extends IService<Foods> {
    
    /**
     * 根据名称查找食物
     * @param name 食物名称
     * @return 食物实体
     */
    Foods findByName(String name);
    
    /**
     * 分页查询食物列表（包含营养成分）
     * @param page 页码
     * @param pageSize 每页数量
     * @param conditions 查询条件
     * @return 食物列表
     */
    List<Map<String, Object>> findFoodsWithNutrients(Integer page, Integer pageSize, Map<String, Object> conditions);
    
    /**
     * 根据条件查询食物总数
     * @param conditions 查询条件
     * @return 食物总数
     */
    long countFoodsWithConditions(Map<String, Object> conditions);
}
